// 封装一些函数,用于返回action对象
// 这些返回action对象的函数有一个统一的名字叫做actionCreator
import { ADD, SUB } from './constants'
// 同步action
export function add(payload) {
  return { type: ADD, payload }
}
export function sub(payload) {
  return { type: SUB, payload }
}
// 异步action
export function addAsync(payload) {
  return (dispatch) => {
    // 注意: 如果redux-thunk后面还有中间件,则这个形参dispatch调用会触发下一个中间件.如果后面没有中间件了,这个形参dispatch会触发reducer
    // 在这里发送异步请求
    setTimeout(() => {
      dispatch(add(payload))
    }, 2000)
  }
}
